start: RANDOMIZE TIMER COLOR 1,0 DIM klick%(256),unter(100) LINE (10,10)-(35,40),2,bf GET (10,10)-(35,40),klick% CLS LINE (0,0)-(160,100),1,b z=0 FOR a=1 TO 94 ax=x2:ay=y2 READ x1,y1,x2,y2 IF x1+y1=0 THEN x1=ax:y1=ay LINE (x1,y1)-(x2,y2),1 NEXT a LINE (0,0)-(33,20),1,b LOCATE 2,1:PRINT "ENDE"; DATA 36,0,36,4,,,44,4,,,45,0 DATA 50,0,50,4,,,47,5,,,47,7,,,52,9,,,44,12,,,50,13,,,52,11,,,63,14,,,63,12,,,66,8,,,66,5,,,63,5,,,61,0 DATA 0,90,23,76,,,35,83,,,47,79,,,85,83,,,85,93,,,80,96,,,82,100 DATA 124,0,128,2,,,125,5,,,120,2,,,105,6,,,102,8,,,100,5,,,93,5,,,89,0,,,85,5,,,75,8,,,70,15,,,57,21,,,55,19,,,51,24,,,44,21,,,44,25,,,53,29,,,47,28,,,45,45,,,24,37,,,20,47,,,14,56,,,15,65,,,23,73,,,36,75,,,48,68,,,46 DATA 65,,,52,58,,,60,56,,,63,50,,,66,50,,,71,53,,,82,48 DATA 91,78,100,78,,,99,84,,,91,81,,,91,78 DATA 76,64,81,64,,,80,73,,,76,70,,,76,64 DATA 79,56,81,56,,,81,60,,,79,60,,,79,56 DATA 82,48,87,51,,,85,55,,,104,74,,,102,79,,,103,81,,,108,75,,,106,71,,,107,68,,,111,72,,,112,74,,,102,67,,,93,47,,,95,44 DATA 95,44,102,47,,,102,53,,,115,63,,,115,70,,,122,78,,,125,87,,,128,85,,,131,80,,,129,70,,,134,66,,,140,68,,,150,83,,,160,83 LINE(46,46)-(62,54),1 LINE (82,47)-(94,46),1 LINE (82,30)-(75,11),1 LINE (83,48)-(82,30),1 LINE (103,8)-(101,30),1 LINE -(83,34),1 LINE (101,30)-(128,25),1 LINE (128,25)-(126,5),1 LINE (108,30)-(105,54),1 LINE -(136,66),1 LINE -(122,27),1 LINE (128,39)-(160,27),1 DIM status%(16),land$(16),kx1%(16),kx2%(16),ky1%(16),ky2%(16) FOR a=1 TO 16 READ status%(a),land$(a),kx1%(a),ky1%(a),kx2%(a),ky2%(a) PAINT (kx1%(a)+(kx2%(a)-kx1%(a))/2,ky1%(a)+(ky2%(a)-ky1%(a))/2),status%(a)+2,1 NEXT a DATA 4,"Irland",35,0,44,4 DATA 4,"England",45,0,66,15 DATA 0,"Italien",93,50,105,75 DATA 5,"Afrika",0,77,85,100 DATA 1,"Korsika",79,56,81,60 DATA 0,"Sardinien",76,64,80,72 DATA 0,"Sizilien",91,78,100,84 DATA 5,"Spanien",23,47,46,57 DATA 0,"Gallien",52,13,75,53 DATA 2,"Germanien",83,6,100,33 DATA 0,"Illyrien",83,35,105,50 DATA 3,"Dacien",108,30,122,54 DATA 2,"Ostgermanien",104,9,125,24 DATA 6,"Sarmatien",127,5,160,27 DATA 3,"Griechenland",115,73,133,85 DATA 6,"Klein-Asien",133,37,160,80 FOR a=0 TO 6 READ rang$(a),status$(a) NEXT a DATA "Soldat","römisch","Optio","gallisch","Centurio","germanisch","Tribun","griechisch","Präfekt","britisch","Senator","afrikanisch","Cäsar","asiatisch" FOR a=0 TO 6 LINE (180,a*8)-(190,a*8+8),a+2,bf LOCATE a+1,26:PRINT status$(a); NEXT a FOR a=1 TO 2 FOR b=1 TO 4 LINE (185+(b-1)*25,60+(a-1)*30)-(185+b*25,60+30*a),1,b READ xstart,ystart x=0:y=0 mal: READ a$:IF a$="-" THEN x=x+1:GOTO mal IF a$="*" THEN x=x+1:PSET(185+(b-1)*25+xstart+x,60+(a-1)*30+ystart+y),1:GOTO mal IF a$="#" THEN x=0:y=y+1:GOTO mal NEXT b NEXT a FOR a=0 TO 8 READ b,c,d FOR e=100 TO 0 STEP -1 IF b<=e/100 THEN x=e/100 IF c<=e/100 THEN y=e/100 IF d<=e/100 THEN z=e/100 PALETTE a,x,y,z NEXT e NEXT a LOCATE 18,2:PRINT "Spielstand laden ?";: CALL Eingabe (25,18,"jJnN",1) LOCATE 18,2:PRINT SPACE$(35) IF UCASE$(a$)="J" THEN slad%=1:WINDOW 5," ,,, Laden ,,,",(0,36)-(310,120),0,1 GOSUB laden IF slad%=1 THEN lad2 END IF LOCATE 18,2:PRINT "Wieviel Spieler (1-8) ?" CALL Eingabe (27,18,"12345678",1) spieler%=VAL(a$) FOR a=1 TO spieler% LOCATE 18,2:PRINT "Name Spieler"a":"SPACE$(20) CALL Alles CALL Eingabe (19,18,z$,12) na$(a)=a$ LOCATE 18,2:PRINT SPACE$(40) ver(a)=10000:alter%(a)=30 NEXT a DIM chronik$(spieler%,50) z=0:jahr%=12:start%=1 jahresschleife: z=z+1 lad2: IF slad%=0 THEN GOSUB zufall slad%=0 LINE (0,101)-(180,200),0,bf IF gf%(z)>0 THEN LOCATE 14,1:PRINT rang$(rang%(z))" "na$(z) PRINT "sitzt im Gefängnis..." Test=MOUSE(0):WHILE MOUSE(0)=0:WEND GOTO jahresende END IF warte1: LOCATE 14,1:PRINT "Wir schreiben" PRINT " das Jahr "jahr% PRINT :PRINT rang$(rang%(z))" "na$(z) LOCATE 19,1:PRINT "Vermögen : "; LOCATE 20,3:PRINT ver(z)" Sesterzen"SPACE$(30); SLEEP:SLEEP Test=MOUSE(0):WHILE MOUSE(0)=0:WEND x=MOUSE(1):y=MOUSE(2):Test=MOUSE(0) ff=0 FOR a=1 TO 16 IF kx1%(a)185 AND x<285 AND y>60 AND y<120 THEN x=INT ((x-185)/25)+1:y=INT ((y-60)/30)+1 PUT (185+(x-1)*25,60+(y-1)*30),klick%,XOR FOR b=1 TO 200:NEXT b PUT (185+(x-1)*25,60+(y-1)*30),klick%,XOR IF y=1 THEN ON x GOTO armee,wirtschaft,politik,schiffe ON x GOTO handel,eroberungen2,chronik,projekt END IF GOTO warte1 projekt: WINDOW 5," # # # Projekt # # #",(0,36)-(310,120),0,1 projekt2: CLS PRINT TAB(7)" Speichern" PRINT TAB(7)" Laden" PRINT TAB(7)" Schluß" PRINT TAB(7)" Ende" CALL Mouseklick(1,4) IF a$="4" THEN WINDOW CLOSE 5:GOTO warte1 ON VAL(a$) GOTO speichern,laden,ende ende: LOCATE 7,1:PRINT "Wirklich Ende ?";:CALL Eingabe(17,7,"jJnN",1) IF UCASE$(a$)="N" THEN projekt2 WINDOW CLOSE 5:WINDOW CLOSE 3:MENU RESET:SCREEN CLOSE 1:SYSTEM laden: LOCATE 7,1:PRINT "Wirklich laden ?";:CALL Eingabe (20,7,"jJnN",1) IF UCASE$(a$)="N" AND slad%=0 THEN projekt2 IF UCASE$(a$)="N" THEN WINDOW CLOSE 5:slad%=0:RETURN CALL Alles PRINT :PRINT "Filename :";:CALL Eingabe(12,8,z$,15) OPEN a$ FOR APPEND AS#1 IF LOF(1)=0 THEN PRINT :PRINT "Diskerror !!!" GOSUB Maus CLOSE #1:IF slad%=0 THEN projekt2 WINDOW CLOSE 5:slad%=0:RETURN END IF CLOSE #1 aspieler%=spieler% OPEN a$ FOR INPUT AS #2 INPUT#2,jahr% INPUT#2,z: INPUT#2,spieler% IF slad%=1 THEN DIM chronik$(spieler%,50) IF slad%=0 AND spieler%>aspieler% THEN ERASE chronik$ DIM chronik$(spieler%,50) END IF FOR a=1 TO spieler% INPUT#2,rang%(a) INPUT#2,punkte(a) INPUT#2,ver(a) INPUT#2,gf%(a) INPUT#2,sklaven(a) INPUT#2,wein(a) INPUT#2,teppiche(a) INPUT#2,oliven(a) INPUT#2,schiffe%(a) INPUT#2,reiter%(a) INPUT#2,volk%(a) INPUT#2,matrosen%(a) INPUT#2,katapulte%(a) INPUT#2,kschiffe%(a) INPUT#2,maerkte%(a) INPUT#2,muehle%(a) INPUT#2,stein%(a) INPUT#2,heirat%(a) INPUT#2,na$(a) INPUT#2,alter%(a) INPUT#2,chronik%(a) IF chronik%(a)>0 THEN FOR b=1 TO chronik%(a) INPUT#2,chronik$(a,b) NEXT b END IF NEXT a INPUT#2,wegr% INPUT#2,wegv% INPUT#2,wegm% INPUT#2,wegk% INPUT#2,wegs% INPUT#2,me IF me>0 THEN FOR a=1 TO me INPUT#2,unter(a) NEXT a END IF WINDOW OUTPUT 3 FOR a=1 TO 16 INPUT#2,status%(a) PAINT (kx1%(a)+(kx2%(a)-kx1%(a))/2,ky1%(a)+(ky2%(a)-ky1%(a))/2),status%(a)+2,1 NEXT a WINDOW OUTPUT 5 INPUT#2,re% INPUT#2,fu% INPUT#2,ma% INPUT#2,ka% INPUT#2,ks% INPUT#2,st% INPUT#2,mu% INPUT#2,mr% INPUT#2,rd% INPUT#2,ss% FOR a=1 TO 4 INPUT#2,skp%(a) INPUT#2,tep%(a) INPUT#2,wep%(a) INPUT#2,olp%(a) INPUT#2,heuer%(a) NEXT a INPUT#2,asch% INPUT#2,anzl% CLOSE#2 IF slad%=1 THEN WINDOW CLOSE 5:RETURN GOTO projekt2 speichern: LOCATE 7,1:PRINT "Wirklich speichern ?";:CALL Eingabe (22,7,"jJnN",1) IF UCASE$(a$)="N" THEN projekt2 CALL Alles PRINT :PRINT "Filename :";:CALL Eingabe(12,8,z$,15) OPEN a$ FOR OUTPUT AS #2 PRINT#2,jahr% PRINT#2,z PRINT#2,spieler% FOR a=1 TO spieler% PRINT#2,rang%(a) PRINT#2,punkte(a) PRINT#2,ver(a) PRINT#2,gf%(a) PRINT#2,sklaven(a) PRINT#2,wein(a) PRINT#2,teppiche(a) PRINT#2,oliven(a) PRINT#2,schiffe%(a) PRINT#2,reiter%(a) PRINT#2,volk%(a) PRINT#2,matrosen%(a) PRINT#2,katapulte%(a) PRINT#2,kschiffe%(a) PRINT#2,maerkte%(a) PRINT#2,muehle%(a) PRINT#2,stein%(a) PRINT#2,heirat%(a) PRINT#2,na$(a) PRINT#2,alter%(a) PRINT#2,chronik%(a) IF chronik%(a)>0 THEN FOR b=1 TO chronik%(a) PRINT#2,chronik$(a,b) NEXT b END IF NEXT a PRINT#2,wegr% PRINT#2,wegv% PRINT#2,wegm% PRINT#2,wegk% PRINT#2,wegs% PRINT#2,me IF me>0 THEN FOR a=1 TO me PRINT#2,unter(a) NEXT a END IF FOR a=1 TO 16 PRINT#2,status%(a) NEXT a PRINT#2,re% PRINT#2,fu% PRINT#2,ma% PRINT#2,ka% PRINT#2,ks% PRINT#2,st% PRINT#2,mu% PRINT#2,mr% PRINT#2,rd% PRINT#2,ss% FOR a=1 TO 4 PRINT#2,skp%(a) PRINT#2,tep%(a) PRINT#2,wep%(a) PRINT#2,olp%(a) PRINT#2,heuer%(a) NEXT a PRINT#2,asch% PRINT#2,anzl% CLOSE#2 GOTO projekt2 jahreszufall: WINDOW 5," <<>>",(0,36)-(310,160),0,1 IF INT((100-alter%(z))*RND)<2 THEN PRINT "Leider muß ich Ihnen mitteilen , daß" PRINT na$(z)" "alter%(z)"jährig gestorben ist." c=INT(ver(z)*RND):PRINT "Verlust an andere Erben :" PRINT " "c" Sesterzen" PRINT "Wie heißt sein/ihr Nachfolger/in ?"; GOSUB cpruef:chronik%(z)=chronik%(z)+1 chronik$(z,chronik%(z))=STR$(jahr%)+" starb "+na$(z)+"." CALL Alles CALL Eingabe(3,6,z$,12):PRINT:PRINT na$(z)=a$ PRINT "Veranstalten Sie einen Trauerzug ?" CALL Eingabe(3,10,"jJnN",1) IF UCASE$(a$)="J" THEN ver(z)=ver(z)-10000:punkte(z)=punkte(z)+0.3 ver(z)=ver(z)-c:alter%(z)=30:heirat%(z)=0 CLS END IF ran%=INT(29*RND)+1:IF ran%<22 THEN ON ran% GOTO 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 END IF pech: PRINT "Nichts besonderes los...." pech2: GOSUB Maus WINDOW CLOSE 5 jahresende: WINDOW 5," * * * * Bilanz * * * *",(0,0)-(310,180),0,1 c=maerkte%(z)*(INT(100*RND)+50) PRINT "Ihre Märkte erbrachten":LOCATE 1,28:PRINT c gewinn=c PRINT :c=muehle%(z)*(INT(250*RND)+100) PRINT "Ihre Mühlen erarbeiteten":LOCATE 3,28:PRINT c PRINT :gewinn=gewinn+c:c=stein%(z)*(INT(600*RND)+200) gewinn=gewinn+c PRINT "Ihre Steinbrüche ergaben":LOCATE 5,28:PRINT c PRINT IF me>0 THEN c=0:FOR a=1 TO me:schiffe%(z)=schiffe%(z)+1:c=c+unter(a):NEXT a PRINT "Ihr Handelsgewinn beträgt":LOCATE 7,28:PRINT c gewinn=gewinn+c ELSE PRINT END IF PRINT :c=(schiffe%(z)-me)*500:PRINT "Hafengebühren":LOCATE 9,28:PRINT c gewinn=gewinn-c IF gewinn>0 THEN PRINT :c=INT(gewinn/10):PRINT "Einkommenssteuer":LOCATE 11,28:PRINT c:gewinn=gewinn-c ELSE PRINT :PRINT END IF PRINT :PRINT "Gesamtgewinn :":LOCATE 13,28:PRINT gewinn LOCATE 14,28:PRINT "Sesterzen" LINE (0,93)-(310,93),1 ver(z)=ver(z)+gewinn:IF gewinn>punkte(z)*1250 THEN punkte(z)=punkte(z)+(100-punkte(z))*0.01 IF gf%(z)>0 THEN gf%(z)=gf%(z)-1 ELSEIF ver(z)<-19999 THEN PRINT :PRINT "Tut mir leid , Sie wandern" PRINT "in den Schuldturm.":punkte(z)=punkte(z)-1.5:IF punkte(z)<0 THEN punkte(z)=0 GOSUB cpruef:chronik%(z)=chronik%(z)+1:chronik$(z,chronik%(z))="Saß im Jahre "+STR$(jahr%)+" im Schuldturm." gf%(z)=1 ELSEIF krieg%>0 THEN krieg%=krieg%-1:gf%(z)=1:GOSUB cpruef:chronik%(z)=chronik%(z)+1 chronik$(z,chronik%(z))=na$(z)+" saß im Jahre "+STR$(jahr%)+" im Gefängnis." END IF alter%(z)=alter%(z)+1 IF punkte(z)>=100 AND ver(z)>1000000 THEN CLS PRINT :PRINT PRINT "Suuuuuper ! ! !" PRINT "Sie haben es zum Cäsaren gebracht !!!" PRINT "Bisherige Cäsaren :" OPEN "cs" FOR INPUT AS#1 WHILE NOT EOF(1) INPUT#1,a$:PRINT a$ WEND CLOSE#1:OPEN "cs" FOR APPEND AS#1 PRINT#1,na$(z) CLOSE#1:GOSUB Maus WINDOW CLOSE 5:WINDOW CLOSE 3:SCREEN CLOSE 1:SYSTEM END IF IF (rang%(z)+1)*15rang%(z)*75000 AND punkte(z)<90 THEN COLOR 2,0 PRINT:PRINT :PRINT "Gratuliere , Sie werden zum "rang$(rang%(z)+1) PRINT "beördert." rang%(z)=rang%(z)+1 COLOR 1,0 GOSUB cpruef:chronik%(z)=chronik%(z)+1 chronik$(z,chronik%(z))=na$(z)+" wurde"+STR$(jahr%)+" zum "+rang$(rang%(z))+" befördert." END IF volk%(z)=volk%(z)+wegv% matrosen%(z)=matrosen%(z)+wegm% reiter%(z)=reiter%(z)+wegr% katapulte%(z)=katapulte%(z)+wegk% kschiffe%(z)=kschiffe%(z)+wegs% wegk%=0:wegs%=0:wegr%=0:wegm%=0:wegv%=0 GOSUB Maus:WINDOW CLOSE 5:asch%=0:me=0 IF z29950 THEN pech c=INT(50*RND)+1 PRINT "Es meldeten sich"c PRINT " Soldaten freiwillig." volk%(z)=volk%(z)+c:GOTO pech2 9 : IF rang%(z)<3 OR kschiffe%(z)+wegs%>245 THEN pech c=INT(5*RND)+1 PRINT c" Kriegsschiffe konnten" PRINT "geentert werden." kschiffe%(z)=kschiffe%(z)+c:GOTO pech2 10 : PRINT "Ein Kloster bittet Sie um eine Spende." PRINT "Wieviel geben Sie :" CALL Eingabe(3,3,"0123456789",4) ver(z)=ver(z)-VAL(a$):punkte(z)=punkte(z)+INT(VAL(a$)/1500)/30 GOTO pech2 11 : PRINT "Geben Sie arbeitslosen Gladiatoren " PRINT "5000 Sesterzen ?" CALL Eingabe(3,3,"jJnN",1) IF UCASE$(a$)="J" THEN ver(z)=ver(z)-5000:punkte(z)=punkte(z)+0.3 GOTO pech2 12 : IF heirat%(z)=1 THEN pech PRINT "Wollen Sie in eine reiche Adelsfamilie" PRINT "einheiraten ?" CALL Eingabe(3,3,"jJnN",1) IF UCASE$(a$)="N" THEN pech2 ver(z)=ver(z)+INT(100000*RND):punkte(z)=punkte(z)+0.5 GOSUB cpruef:chronik%(z)=chronik%(z)+1:chronik$(z,chronik%(z))="Heirat im Jahre "+STR$(jahr%)+"." heirat%(z)=1:GOTO pech2 13 : IF heirat%(z)=1 THEN pech PRINT "Ihr Herz ist für ein/en armes/en PRINT "Bauernmädchen/jungen entflammt." PRINT "Heiraten Sie sie/ihn ?" CALL Eingabe(3,4,"jJnN",1) IF UCASE$(a$)="N" THEN pech2 ver(z)=ver(z)-INT(3000*RND):punkte(z)=punkte(z)+1.5 GOSUB cpruef:chronik%(z)=chronik%(z)+1:chronik$(z,chronik%(z))="Heirat im Jahre "+STR$(jahr%)+"." heirat%(z)=1:GOTO pech2 14 : IF me=0 THEN pech PRINT "Eines Ihrer Schiffe wurde von Piraten" PRINT "geentert und ausgeraubt." me=me-1:GOTO pech2 15 : PRINT "Durch einen Zufall gelangen Dokumente" PRINT "im Wert von 15000 Sesterzen in Ihre " PRINT "Hände." ver(z)=ver(z)+15000:GOTO pech2 16 : PRINT "Ihnen wird ein Schmuggelgeschäft PRINT "angeboten. Nehmen Sie an ?" CALL Eingabe(3,3,"jJnN",1) IF UCASE$(a$)="N" THEN pech2 PRINT IF RND>0.65 THEN PRINT "Gratuliere , Sie hatten Glück." c=INT (200000*RND):PRINT "Gewinn :"c"Sesterzen." ver(z)=ver(z)+c ELSE PRINT "Pech gehabt, Sie wandern ins Gefängnis." krieg%=1 END IF GOTO pech2 17 : c=INT(16*RND)+1:IF c=3 THEN 17 b=INT(6*RND)+1:IF status%(c)=b THEN pech IF status%(c)>0 OR rang%(z)<3 THEN PRINT "Ein "status$(b)"er Angriff" PRINT " gegen "land$(c)"." status%(c)=b:WINDOW OUTPUT 3 PAINT (kx1%(c)+(kx2%(c)-kx1%(c))/2,ky1%(c)+(ky2%(c)-ky1%(c))/2),status%(c)+2,1 WINDOW OUTPUT 5:GOTO pech2 ELSE PRINT "Ein "status$(b)"er Angriff gegen das" PRINT "römische "land$(c)"." PRINT "Retten Sie es !!!" GOSUB Maus krieg%=1:CLS:ff=c:GOSUB ero: IF status%(ff)=0 THEN PRINT "Gut gemacht": :ELSE PRINT "Versager" END IF GOTO pech2 18 : IF schiffe%(z)+me=>999 THEN pech PRINT "Es biete sich Ihnen die Möglichkeit ," PRINT "ein Schiff zu heben. Einverstanden ?" CALL Eingabe(3,3,"jJnN",1) IF UCASE$(a$)="N" THEN pech2 PRINT IF RND>0.6 THEN PRINT "Es ist geglückt !!!" c=INT(500*RND):PRINT "Kosten :"c"Sesterzen." ver(z)=ver(z)-c:schiffe%(z)=schiffe%(z)+1 ELSE PRINT "Pech gehabt...." c=INT(1500*RND)+500:PRINT "Kosten :"c"Sesterzen." ver(z)=ver(z)-c END IF GOTO pech2 19 : PRINT "Sie sind krank ! Wollen Sie einen Arzt?" CALL Eingabe(3,2,"jJnN",1) PRINT IF UCASE$(a$)="N" THEN IF RND>0.5 THEN c=INT(1000*RND*punkte(z))+500 PRINT "Hospitalkosten :"c"Sesterzen" ver(z)=ver(z)-c END IF GOTO pech2 END IF c=INT(100*RND*punkte(z))+10:PRINT "Arztkosten :"c"Sesterzen." ver(z)=ver(z)-c:punkte(z)=punkte(z)+0.01 GOTO pech2 20 : PRINT "Veranstalten Sie die diesjährigen" PRINT "Marsfestspiele ?" CALL Eingabe(3,3,"jJnN",1) PRINT :IF UCASE$(a$)="N" THEN pech2 PRINT "Wie prunkvoll gestalten Sie sie ?" PRINT "(0-gar nicht,99-prächtig)" CALL Eingabe(3,6,"0123456789",2) punkte(z)=punkte(z)+VAL(a$)/300 ver(z)=ver(z)-1000-VAL(a$)*300 GOTO pech2 21 : PRINT "Geben Sie einen Empfang für die" PRINT "Vertreter einer neuen Sekte " PRINT " - der `Christen` ?" CALL Eingabe(3,4,"jJnN",1) IF UCASE$(a$)="N" THEN pech2 IF RND>0.3 THEN PRINT :PRINT "Das Volk ist begeistert von der" PRINT "Sekte , die Sie populär machten." punkte(z)=punkte(z)+0.6 ELSE PRINT :PRINT "Sie weren vom Senat wegen" PRINT "Verleumdung der Staatsreligion" PRINT "getadelt." punkte(z)=punkte(z)-0.2 END IF GOTO pech2 chronik: WINDOW 5," ...Chronik...",(0,0)-(310,180),0,1 zeile=0 IF chronik%(z)=0 THEN PRINT na$(z)" hat noch nichts" PRINT "Weltbewegendes vollbracht." GOSUB Maus GOTO punktzahl END IF FOR a=1 TO chronik%(z) a$=chronik$(z,a) chronik2: IF zeile=20 THEN GOSUB Maus CLS zeile=0 END IF IF LEFT$(a$,1)=" " THEN a$=RIGHT$(a$,LEN(a$)-1) IF LEN(a$)>38 THEN PRINT LEFT$(a$,37)"-":a$=RIGHT$(a$,LEN(a$)-37):zeile=zeile+1:GOTO chronik2 ELSE zeile=zeile+1:PRINT a$ END IF NEXT a GOSUB Maus punktzahl: CLS LOCATE 2,10:PRINT "Punktzahl : "INT(punkte(z)) FOR a=1 TO 5 LINE (a*30,40)-(a*30,45),1 NEXT a LINE (200,40)-(200,45),1 LINE (0,46)-(punkte(z)*2,56),2,bf GOSUB Maus:WINDOW CLOSE 5:GOTO warte1 GOTO warte1 eroberungen2: IF rang%(z)<3 THEN LOCATE 22,1:PRINT "Eroberungen erst ab Tribun ...";: GOSUB Maus LOCATE 22,1:PRINT SPACE$(35); GOTO warte1 END IF WINDOW CLOSE 5:LOCATE 21,1:ff=-2:PRINT "Bitte geben Sie das zu "SPACE$(10) PRINT "erobernde Land an !!"; WHILE ff=-2: SLEEP:SLEEP Test=MOUSE(0):WHILE MOUSE(0)=0:WEND:Test=MOUSE(0):x=MOUSE(1):y=MOUSE(2) IF x<33 AND y<20 THEN ff=-1:GOTO erende FOR a=1 TO 16 IF kx1%(a)volk%(z) THEN IF krieg%=1 THEN a$=STR$(volk%(z)) ELSE BEEP:GOTO eroberungen2 END IF END IF vein%=VAL(a$) PRINT :PRINT "Wieviele Matrosen ? (max."matrosen%(z)")" CALL Eingabe(3,4,"0123456789",5) IF VAL(a$)>matrosen%(z) THEN IF krieg%=1 THEN a$=STR$(matrosen%(z)) ELSE BEEP:GOTO eroberungen2 END IF END IF mein%=VAL(a$) PRINT :PRINT "Wieviele Reiter ? (max."reiter%(z)")" CALL Eingabe(3,6,"0123456789",5) IF VAL(a$)>reiter%(z) THEN IF krieg%=1 THEN a$=STR$(reiter%(z)) ELSE BEEP:GOTO eroberungen2 END IF END IF rein%=VAL(a$) CLS:PRINT "Wieviele Katapulte ? (max."katapulte%(z)")" CALL Eingabe(3,2,"0123456789",3) IF VAL(a$)>katapulte%(z) THEN IF krieg%=1 THEN a$=STR$(katapulte%(z)) ELSE BEEP:GOTO eroberungen2 END IF END IF kein%=VAL(a$) PRINT :PRINT "Wieviele Schiffe ? (max."kschiffe%(z)")" CALL Eingabe(3,4,"0123456789",3) IF VAL(a$)>kschiffe%(z) THEN IF krieg%=1 THEN a$=STR$(kschiffe%(z)) ELSE BEEP:GOTO eroberungen2 END IF END IF sein%=VAL(a$) PRINT :PRINT "Sicher (J/N) ?";:CALL Eingabe (17,5,"jJnN",1) IF UCASE$(a$)="N" THEN IF krieg%=1 THEN PRINT :PRINT "HAHAHAHAHAHA!!!!!" ELSE GOTO eroberungen2 END IF END IF kraft=vein%+1.5*mein%+2*rein%+10*kein%+50*sein% gkraft=(ky2%(ff)-ky1%(ff))*150+9*jahr%+(kx2%(ff)-kx1%(ff))*150+INT(15000*RND) volk%(z)=volk%(z)-vein% matrosen%(z)=matrosen%(z)-mein% reiter%(z)=reiter%(z)-rein% katapulte%(z)=katapulte%(z)-kein% kschiffe%(z)=kschiffe%(z)-sein% IF gkraft>kraft THEN PRINT PRINT "Tut mir leid ," PRINT "Ihre Truppen wurden völlig aufgerieben." c=INT(500000*RND):PRINT "Kosten :"c"Sesterzen" ver(z)=ver(z)-c:punkte(z)=punkte(z)-2:IF punkte(z)<0 THEN punkte(z)=0 GOSUB cpruef:chronik%(z)=chronik%(z)+1:chronik$(z,chronik%(z))=STR$(jahr%)+" verlor "+na$(z)+" einen Feldzug gegen "+land$(ff)+"." IF krieg%=1 THEN status%(ff)=b:WINDOW OUTPUT 3 PAINT (kx1%(ff)+(kx2%(ff)-kx1%(ff))/2,ky1%(ff)+(ky2%(ff)-ky1%(ff))/2),status%(ff)+2,1 WINDOW OUTPUT 5 END IF ELSE CLS PRINT "Gratuliere ," PRINT "Ihre Truppen siegten souverän." c=INT(500000*RND):PRINT "Belohnung :"c"Sesterzen ," PRINT "sowie Truppenverstärkung !!!" GOSUB cpruef:chronik%(z)=chronik%(z)+1:chronik$(z,chronik%(z))=STR$(jahr%)+" eroberte "+na$(z)+" "+land$(ff)+"." ver(z)=ver(z)+c punkte(z)=punkte(z)+2 wegv%=wegv%+vein%:wegm%=wegm%+mein% wegr%=wegr%+rein%:wegk%=wegk%+kein% wegs%=wegs%+sein% IF volk%(z)+wegv%<29500 THEN volk%(z)=volk%(z)+INT(500*RND) IF matrosen%(z)+wegm%<19650 THEN matrosen%(z)=matrosen%(z)+INT(350*RND) IF reiter%(z)+wegr%<9875 THEN reiter%(z)=reiter%(z)+INT(125*RND) IF katapulte%(z)+wegk%<450 THEN katapulte%(z)=katapulte%(z)+INT(50*RND) IF kschiffe%(z)+wegs%<238 THEN kschiffe%(z)=kschiffe%(z)+INT(12*RND) PRINT "Die Armee steht Ihnen nächstes Jahr" PRINT "wieder zur Verfügung." status%(ff)=0 WINDOW OUTPUT 3 PAINT (kx1%(ff)+(kx2%(ff)-kx1%(ff))/2,ky1%(ff)+(ky2%(ff)-ky1%(ff))/2),2,1 WINDOW OUTPUT 5 END IF GOSUB Maus IF krieg%=1 THEN krieg%=0:RETURN GOTO eroberungen2 handel: WINDOW 5," ===== Handel =====",(0,36)-(310,160),0,1 handel2: CLS: PRINT "Vermögen : "ver(z)" Sesterzen" PRINT "Sklaven : "sklaven(z) PRINT "Teppiche : "teppiche(z) PRINT "Weinkrüge : "wein(z) PRINT "Olivenkörbe: "oliven(z) PRINT :PRINT " Sklaven ("skp%(1)"Sesterzen )" PRINT " Teppiche ("tep%(1)"Sesterzen )" PRINT " Wein ("wep%(1)"Sesterzen )" PRINT " Oliven ("olp%(1)"Sesterzen )" PRINT " Ende" CALL Mouseklick(7,11) c=VAL(a$):IF c=5 THEN WINDOW CLOSE 5:GOTO warte1 LOCATE 14,1:PRINT "Wieviel : ";:CALL Eingabe(12,14,"0123456789",9) IF c=1 THEN sklaven(z)=sklaven(z)+VAL(a$):ver(z)=ver(z)-VAL(a$)*skp%(1) ELSEIF c=2 THEN teppiche(z)=teppiche(z)+VAL(a$):ver(z)=ver(z)-VAL(a$)*tep%(1) ELSEIF c=3 THEN wein(z)=wein(z)+VAL(a$):ver(z)=ver(z)-wep%(1)*VAL(a$) ELSEIF c=4 THEN oliven(z)=oliven(z)+VAL(a$):ver(z)=ver(z)-olp%(1)*VAL(a$) END IF GOTO handel2 schiffe: WINDOW 5," ^ ^ Schiffe ^ ^",(0,36)-(310,140),0,1 schiffe2: CLS:PRINT "Vermögen : "ver(z)" Sesterzen" PRINT "Schiffe : "schiffe%(z) PRINT :PRINT " Schiffe kaufen ("ss%"Sesterzen )" PRINT " Schiffe verkaufen ("ss%-200"Sesterzen)" PRINT " Schiffe schicken" PRINT " Preisliste sehen (25000 Sesterzen )" PRINT " Ende" CALL Mouseklick(4,8) c=VAL(a$):IF c=5 THEN WINDOW CLOSE 5:GOTO warte1 ON c GOTO skaufen,sverkaufen,sschicken,ssehen skaufen: LOCATE 10,1:PRINT "Wieviel : ";:CALL Eingabe(12,10,"0123456789",3) IF VAL(a$)+schiffe%(z)+me>999 THEN LOCATE 11,1:PRINT "Sie können nur 999 Schiffe kaufen." GOSUB Maus:GOTO schiffe2 END IF schiffe%(z)=schiffe%(z)+VAL(a$):ver(z)=ver(z)-VAL(a$)*ss% GOTO schiffe2 sverkaufen: LOCATE 10,1:PRINT "Wieviel : ";:CALL Eingabe(12,10,"0123456789",3) IF VAL(a$)>schiffe%(z) THEN LOCATE 11,1:PRINT "So viele Schiffe haben Sie nicht." GOSUB Maus:GOTO schiffe2 END IF schiffe%(z)=schiffe%(z)-VAL(a$):ver(z)=ver(z)+(ss%-200)*VAL(a$) GOTO schiffe2 ssehen: CLS PRINT " Athen Alexandria Karthago" PRINT "Sklaven:";: FOR a=2 TO 4 LOCATE 2,10+(a-2)*11:PRINT skp%(a);: NEXT a PRINT :PRINT "Teppiche:";: FOR a=2 TO 4 LOCATE 3,10+(a-2)*11:PRINT tep%(a);: NEXT a PRINT :PRINT "Wein:";: FOR a=2 TO 4 LOCATE 4,10+(a-2)*11:PRINT wep%(a);: NEXT a PRINT :PRINT "Oliven:";: FOR a=2 TO 4 LOCATE 5,10+(a-2)*11:PRINT olp%(a);: NEXT a ver(z)=ver(z)-25000:GOSUB Maus GOTO schiffe2 sschicken: CLS PRINT :PRINT " Athen ("heuer%(1)" Sesterzen Heuer )" PRINT " Alexandria ("heuer%(2)" Sesterzen Heuer )" PRINT " Karthago ("heuer%(3)" Sesterzen Heuer )" PRINT " Ende" CALL Mouseklick(2,5) c=VAL(a$):IF c=4 THEN schiffe2 sschicken2: CLS IF me=100 THEN PRINT :PRINT "Sie können nur 100 Schiffe schicken !" GOSUB Maus GOTO schiffe2 END IF PRINT :PRINT TAB (4)" Sklaven ("sklaven(z)" )" PRINT TAB(4)" Teppiche ("teppiche(z)" )" PRINT TAB(4)" Wein ("wein(z)" )" PRINT TAB(4)" Oliven ("oliven(z)" )" IF asch%>0 THEN PRINT TAB(4)" Letzten Handel wiederholen": :ELSE PRINT PRINT TAB(4)" Ende" IF asch%>0 THEN CALL Mouseklick(2,7): :ELSE CALL Mouseklick (2,7) IF a$="5" AND asch%>0 THEN LOCATE 8,1:PRINT "Wie oft :";:CALL Eingabe (14,8,"0123456789",2) b=VAL (a$) IF b=0 THEN sschicken2 IF me+b>100 THEN PRINT :PRINT "Sie dürfen nur 100 Schiffe schicken.":GOSUB Maus GOTO sschicken2 ELSEIF schiffe%(z)-b<0 THEN PRINT :PRINT "So viele Schiffe haben Sie nicht !!":GOSUB Maus GOTO sschicken2 END IF IF asch%=1 THEN IF sklaven(z)-(b*anzl%)<0 THEN PRINT :PRINT "So viele Sklaven haben Sie nicht !!":GOSUB Maus GOTO sschicken2 END IF FOR a=1 TO b sklaven(z)=sklaven(z)-anzl%:me=me+1:unter(me)=skp%(c+1)*anzl% schiffe%(z)=schiffe%(z)-1:ver(z)=ver(z)-heuer%(c) NEXT a ELSEIF asch%=2 THEN IF teppiche(z)-(b*anzl%)<0 THEN PRINT :PRINT "So viele Teppiche haben Sie nicht !!":GOSUB Maus GOTO sschicken2 END IF FOR a=1 TO b teppiche(z)=teppiche(z)-anzl%:me=me+1:unter(me)=tep%(c+1)*anzl% ver(z)=ver(z)-heuer%(c):schiffe%(z)=schiffe%(z)-1 NEXT a ELSEIF asch%=3 THEN IF wein(z)-(b*anzl%)<0 THEN PRINT :PRINT "So viele Weinkrüge haben Sie nicht !!":GOSUB Maus GOTO sschicken2 END IF FOR a=1 TO b wein(z)=wein(z)-anzl%:me=me+1:unter(me)=wep%(c+1)*anzl% ver(z)=ver(z)-heuer%(c):schiffe%(z)=schiffe%(z)-1 NEXT a ELSEIF asch%=4 THEN IF oliven(z)-(b*anzl%)<0 THEN PRINT :PRINT "So viele Olivenkörbe haben Sie nicht !!":GOSUB Maus GOTO sschicken2 END IF FOR a=1 TO b oliven(z)=oliven(z)-anzl%:me=me+1:unter(me)=olp%(c+1)*anzl% ver(z)=ver(z)-heuer%(c):schiffe%(z)=schiffe%(z)-1 NEXT a END IF GOSUB Maus GOTO sschicken2 END IF b=VAL(a$):IF b>4 THEN sschicken LOCATE 8,1:PRINT "Wieviel : ";:CALL Eingabe(12,8,"0123456789",3) IF schiffe%(z)=0 THEN PRINT :PRINT "Sie besitzen keine Schiffe mehr." GOSUB Maus GOTO schiffe2 ELSEIF VAL(a$)=0 THEN GOTO sschicken END IF IF b=1 THEN IF sklaven(z)-VAL(a$)<0 THEN sschicken2 IF VAL(a$)>100 THEN PRINT :PRINT "Sie dürfen nur 100 Sklaven verschicken." GOSUB Maus GOTO sschicken2 END IF sklaven(z)=sklaven(z)-VAL(a$) asch%=1:anzl%=VAL(a$) schiffe%(z)=schiffe%(z)-1:me=me+1:unter(me)=skp%(c+1)*VAL(a$) ver(z)=ver(z)-heuer%(c) ELSEIF b=2 THEN IF teppiche(z)-VAL(a$)<0 THEN sschicken2 IF VAL(a$)>200 THEN PRINT :PRINT "Sie dürfen nur 200 Teppiche verschicken." GOSUB Maus GOTO sschicken2 END IF teppiche(z)=teppiche(z)-VAL(a$) asch%=2:anzl%=VAL(a$) schiffe%(z)=schiffe%(z)-1:me=me+1:unter(me)=tep%(c+1)*VAL(a$) ver(z)=ver(z)-heuer%(c) ELSEIF b=3 THEN IF wein(z)-VAL(a$)<0 THEN sschicken2 IF VAL(a$)>500 THEN PRINT :PRINT "Sie dürfen nur 500 Weinkrüge verschicken." GOSUB Maus GOTO sschicken2 END IF wein(z)=wein(z)-VAL(a$) asch%=3:anzl%=VAL(a$) schiffe%(z)=schiffe%(z)-1:me=me+1:unter(me)=wep%(c+1)*VAL(a$) ver(z)=ver(z)-heuer%(c) ELSEIF b=4 THEN IF oliven(z)-VAL(a$)<0 THEN sschicken2 IF VAL(a$)>500 THEN PRINT :PRINT "Sie dürfen nur 500 Olivenkörbe verschicken." GOSUB Maus GOTO sschicken2 END IF oliven(z)=oliven(z)-VAL(a$) asch%=4:anzl%=VAL(a$) schiffe%(z)=schiffe%(z)-1:me=me+1:unter(me)=olp%(c+1)*VAL(a$) ver(z)=ver(z)-heuer%(c) END IF GOTO sschicken2 politik: IF rang%(z)<4 THEN LOCATE 22,1:PRINT "Politik erst ab Präfekt möglich...."; BEEP:GOSUB Maus LOCATE 22,1:PRINT SPACE$(35);:GOTO warte1 END IF WINDOW 5," ? ? ? Politik ? ? ?",(0,34)-(310,160),0,1 politik2: CLS PRINT "Vermögen : "ver(z)" Sesterzen" PRINT :PRINT TAB(4)" Reden halten ("rd%" Sesterzen )" PRINT TAB(4)" Aufstand anzetteln" PRINT TAB(4)" Ende" CALL Mouseklick (3,5) c=VAL(a$):IF c=3 THEN WINDOW CLOSE 5:GOTO warte1 IF c=1 THEN LOCATE 8,1:PRINT "Wie scharf greifen Sie die " PRINT " Regierung an ? " PRINT " (0-gar nicht,99-sehr stark)" CALL Eingabe (3,12,"0123456789",2) IF VAL(a$)/10040 AND a=1 THEN PRINT :PRINT "Gratuliere , Ihr Aufstand ist geglückt." PRINT "Der Senat hat bereits den neuen Cäsa-" PRINT "ren benannt." GOSUB cpruef:chronik%(z)=chronik%(z)+1 chronik$(z,chronik%(z))="Im Jahre "+STR$(jahr%)+" gelang ein Aufstand unter "+na$(z)+"s Führung." IF volk%(z)+wegv%<29500 THEN volk%(z)=volk%(z)+INT(500*RND) IF reiter%(z)+wegr%<9875 THEN reiter%(z)=reiter%(z)+INT(125*RND) IF matrosen%(z)+wegm%<19750 THEN matrosen%(z)=matrosen%(z)+INT(250*RND) IF katapulte%(z)+wegk%<475 THEN katapulte%(z)=katapulte%(z)+INT(25*RND) IF kschiffe%(z)+wegs%<240 THEN kschiffe%(z)=kschiffe%(z)+INT(10*RND) ver(z)=ver(z)+INT(20000*RND) punkte(z)=punkte(z)+2 GOSUB Maus ELSE PRINT :PRINT "Tut mir leid , Ihr Aufstand wurde PRINT "blutig niedergeschlagen. Sie werden" PRINT "für 3 Jahre ins Gefängnis geworfen" PRINT "und zum Tribun degradiert." GOSUB cpruef:chronik%(z)=chronik%(z)+1 chronik$(z,chronik%(z))="Im Jahre "+STR$(jahr%)+" mißlang ein Aufstand unter "+na$(z)+"s Führung." volk%(z)=volk%(z)-INT(volk%(z)*RND) reiter%(z)=reiter%(z)-INT(reiter%(z)*RND) matrosen%(z)=matrosen%(z)-INT(matrosen%(z)*RND) katapulte%(z)=katapulte%(z)-INT(katapulte%(z)*RND) kschiffe%(z)=kschiffe%(z)-INT(kschiffe%(z)*RND) gf%(z)=3 punkte(z)=60:rang%(z)=3:ver(z)=ver(z)-INT(50000*RND) GOSUB Maus:WINDOW CLOSE 5:GOTO jahresende END IF END IF GOTO politik2 wirtschaft: WINDOW 5," ** Wirtschaft **",(0,34)-(310,150),0,1 wirtschaft2: CLS PRINT "Vermögen : "ver(z)" Sesterzen" PRINT "Steinbrüche : "stein%(z) PRINT "Mühlen : "muehle%(z) PRINT "Märkte : "maerkte%(z) PRINT :PRINT TAB(4)" Steinbrüche ("st%" Sesterzen )" PRINT TAB(4)" Mühlen ("mu%" Sesterzen )" PRINT TAB(4)" Märkte ("mr%" Sesterzen )" PRINT TAB (4)" Ende" CALL Mouseklick(6,9) c=VAL(a$):IF c=4 THEN WINDOW CLOSE 5:GOTO warte1 LOCATE 12,1:PRINT "Wieviel : ";:CALL Eingabe (12,12,"0123456789",3) IF c=1 THEN IF stein%(z)+VAL(a$)>100 THEN PRINT :PRINT "Sie können nur 100 Steinbrüche bauen.":GOSUB Maus:GOTO wirtschaft2 END IF stein%(z)=stein%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*st% ELSEIF c=2 THEN IF muehle%(z)+VAL(a$)>200 THEN PRINT :PRINT "Sie können nur 200 Mühlen bauen.":GOSUB Maus:GOTO wirtschaft2 END IF muehle%(z)=muehle%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*mu% ELSEIF c=3 THEN IF maerkte%(z)+VAL(a$)>300 THEN PRINT :PRINT "Sie können nur 300 Märkte bauen.":GOSUB Maus:GOTO wirtschaft2 END IF maerkte%(z)=maerkte%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*mr% END IF GOTO wirtschaft2 armee: IF rang%(z)<3 THEN LOCATE 22,1:PRINT "Armee erst ab Tribun möglich..."; FOR a=1 TO 200:NEXT a:BEEP:GOSUB Maus:LOCATE 22,1:PRINT SPACE$(31); GOTO warte1 END IF WINDOW 5," / / Armee \ \",(0,34)-(310,120),0,1 armee2: CLS PRINT "Vermögen : "ver(z)" Sesterzen" PRINT :PRINT TAB(6)" Soldaten werben" PRINT TAB(6)" Kriegsmaterial kaufen" PRINT TAB(6)" Übersicht" PRINT TAB(6)" Ende" CALL Mouseklick (3,6) IF a$="4" THEN WINDOW CLOSE 5:GOTO warte1 ON VAL(a$) GOTO soldaten,material,sicht sicht: CLS PRINT "Vermögen : "ver(z) " Sesterzen" PRINT "Reiter : "reiter%(z) PRINT "Fußvolk : "volk%(z) PRINT "Matrosen : "matrosen%(z) PRINT "Katapulte : "katapulte%(z) PRINT "Kriegsschiffe : "kschiffe%(z) GOSUB Maus:CLS:GOTO armee2 material: CLS:PRINT "Vermögen : "ver(z)" Sesterzen" PRINT :PRINT TAB(4)" Katapulte ("ka%" Sesterzen )" PRINT TAB(4)" Kriegsschiffe ("ks%" Sesterzen )" PRINT TAB(4)" Ende" CALL Mouseklick (3,5) c=VAL(a$):IF c=3 THEN sicht LOCATE 7,1:PRINT "Wieviel : ";:CALL Eingabe (12,7,"0123456789",7) PRINT IF c=1 THEN IF katapulte%(z)+wegk%+VAL(a$)>750 THEN PRINT "Sie dürfen nur 750 Katapulte kaufen." GOSUB Maus GOTO material END IF katapulte%(z)=katapulte%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*ka% ELSE IF kschiffe%(z)+wegs%+VAL(a$)>250 THEN PRINT "Sie dürfen nur 250 Schiffe kaufen." GOSUB Maus GOTO material END IF kschiffe%(z)=kschiffe%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*ks% END IF GOTO material soldaten: CLS:PRINT "Vermögen : "ver(z)" Sesterzen" PRINT :PRINT TAB(6)" Reiter ("re%" Sesterzen )" PRINT TAB (6)" Fußvolk ("fu%" Sesterzen )" PRINT TAB(6)" Matrosen ("ma%" Sesterzen )" PRINT TAB(6)" Ende" CALL Mouseklick (3,6) c=VAL(a$):IF c=4 THEN sicht LOCATE 8,1:PRINT "Wieviel :";:CALL Eingabe (12,8,"0123456789",7) PRINT IF c=1 THEN IF reiter%(z)+VAL(a$)+wegr%>10000 THEN PRINT "Sie dürfen nur 10000 Reiter":PRINT " einstellen." GOSUB Maus GOTO soldaten END IF reiter%(z)=reiter%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*re% ELSEIF c=2 THEN IF volk%(z)+VAL(a$)+wegv%>30000 THEN PRINT "Sie dürfen nur 30000 Soldaten":PRINT " einstellen." GOSUB Maus GOTO soldaten END IF volk%(z)=volk%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*fu% ELSEIF c=3 THEN IF matrosen%(z)+VAL(a$)+wegm%>20000 THEN PRINT "Sie dürfen nur 20000 Matrosen":PRINT " einstellen." GOSUB Maus GOTO soldaten END IF matrosen%(z)=matrosen%(z)+VAL(a$) ver(z)=ver(z)-VAL(a$)*ma% END IF GOTO soldaten zufall: re%=INT(200*RND)+75 fu%=INT(100*RND)+35 ma%=INT(150*RND)+55 ka%=INT(1550*RND)+500 ks%=INT(15000*RND)+5000 st%=INT(4000*RND)+4000 mu%=INT(3000*RND)+2000 mr%=INT(1500*RND)+1000 rd%=INT(20000*RND)+10000 ss%=INT(1500*RND)+3500+jahr%*20 FOR a=1 TO 4 skp%(a)=INT(60*RND)+145 tep%(a)=INT(20*RND)+65 wep%(a)=INT(10*RND)+15 olp%(a)=INT(4*RND)+3 heuer%(a)=INT(40*RND*jahr%)+300 IF heuer%(a)<400 THEN heuer%(a)=heuer%(a)+400 NEXT a RETURN DATA 4,8 DATA *,*,*,# DATA *,-,-,*,*,*,*,# DATA *,-,-,-,-,-,-,*,*,*,*,*,# DATA *,-,-,-,-,-,-,-,-,-,-,-,*,*,*,*,# DATA *,-,-,-,-,-,-,-,-,-,-,-,-,-,-,*,# DATA *,*,*,-,-,-,-,-,-,-,-,-,-,-,*,# DATA -,-,*,*,*,-,-,-,-,*,*,*,-,-,*,*,# DATA -,-,-,-,-,*,*,*,*,-,-,-,*,-,*,*,# DATA -,-,-,-,-,-,-,-,*,*,*,-,*,-,*,# DATA -,-,-,-,-,-,-,-,*,-,-,*,*,*,# DATA -,-,-,-,-,-,-,-,-,*,*,*,# DATA # DATA # DATA -,-,-,*,-,-,-,-,-,-,-,-,*,# DATA -,-,-,-,*,-,-,-,-,-,-,*,# DATA -,-,-,-,-,*,*,-,-,*,*,# DATA -,-,-,-,-,-,-,*,*,# DATA -,-,-,-,-,-,*,-,-,*,#,. DATA 8,8 DATA -,-,-,-,-,*,*,# DATA -,-,-,-,*,-,-,*,*,*,# DATA -,-,-,*,-,-,-,-,*,# DATA -,-,*,-,-,-,-,*,# DATA -,*,-,-,-,-,*,*,# DATA *,*,-,-,-,*,*,*,*,# DATA -,-,*,-,*,-,-,*,*,*,# DATA -,-,-,*,-,-,-,-,*,*,*,# DATA -,-,-,-,-,-,-,-,-,*,*,*,# DATA *,*,*,-,-,-,-,-,-,-,*,*,# DATA -,*,# DATA -,*,#,. DATA 4,10 DATA *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,-,-,-,-,*,-,-,-,-,-,*,-,-,-,-,*,# DATA *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,#,. DATA 4,6 DATA -,-,-,-,-,*,*,# DATA -,-,-,-,-,*,-,*,*,# DATA -,-,-,-,-,*,-,-,-,*,*,*,# DATA -,-,-,-,-,*,-,-,-,-,-,-,*,*,# DATA -,-,-,-,-,*,-,-,-,-,-,-,-,-,*,# DATA -,-,-,-,-,-,*,*,*,-,-,-,-,-,*,# DATA -,-,-,-,-,-,-,-,*,*,*,*,-,-,*,# DATA -,-,-,-,-,-,-,-,*,*,-,-,*,*,# DATA *,-,-,-,-,-,-,-,*,*,# DATA *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,# DATA *,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,*,# DATA -,*,-,-,-,-,-,-,-,-,-,-,-,-,-,-,*,# DATA -,-,*,*,-,-,-,-,-,-,-,-,-,-,-,*,# DATA -,-,-,-,*,*,*,-,-,-,-,-,-,*,*,# DATA -,-,-,-,-,-,-,*,*,*,*,*,*,#,. DATA 3,5 DATA -,-,-,*,*,# DATA -,-,-,*,*,*,*,# DATA -,-,-,*,*,*,-,-,-,-,*,*,*,*,*,*,*,*,# DATA -,-,*,*,*,*,*,-,-,-,*,-,-,-,-,-,*,*,# DATA -,*,*,*,*,*,*,*,-,-,*,*,*,*,*,*,*,*,# DATA -,*,*,*,*,*,*,*,-,-,*,-,-,*,*,-,-,*,# DATA -,*,*,*,*,*,*,*,-,-,*,*,*,*,*,*,*,*,# DATA -,-,*,*,*,*,*,-,-,-,*,*,-,-,-,-,-,*,# DATA -,-,-,*,*,*,-,-,-,-,*,*,*,*,*,*,*,*,# DATA #,#,# DATA -,-,*,-,-,-,-,-,-,-,-,-,-,-,-,-,*,# DATA -,*,*,-,-,-,-,-,-,-,-,-,-,-,-,-,*,*,# DATA *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,# DATA *,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,# DATA -,*,*,-,-,-,-,-,-,-,-,-,-,-,-,-,*,*,# DATA -,-,*,-,-,-,-,-,-,-,-,-,-,-,-,-,*,#,. DATA 2,7 DATA -,*,*,# DATA -,*,-,*,*,*,# DATA -,-,-,*,-,-,*,*,*,*,# DATA *,*,-,*,-,-,-,-,-,-,*,*,*,*,*,# DATA *,*,-,*,-,-,-,-,-,-,-,-,-,-,-,*,*,*,*,# DATA -,-,-,*,-,-,-,-,-,-,-,-,-,-,-,-,-,-,*,# DATA *,*,-,*,*,*,-,-,-,-,-,-,-,-,-,-,-,*,# DATA -,*,*,-,-,*,*,*,-,-,-,-,*,*,*,-,-,*,*,# DATA -,*,-,-,-,-,-,-,*,*,*,*,-,-,-,*,-,*,*,# DATA -,-,-,-,-,-,-,-,-,-,-,*,*,*,-,*,-,*,-,-,*,# DATA -,-,-,-,-,-,-,-,-,-,-,*,-,-,*,*,*,-,-,*,*,*,# DATA -,-,-,-,-,-,-,-,-,-,-,-,*,*,*,-,-,-,-,-,*,-,# DATA # DATA # DATA -,-,-,-,-,-,*,-,-,-,-,-,-,-,-,*,# DATA -,-,-,-,-,-,-,*,-,-,-,-,-,-,*,-,*,# DATA -,-,-,-,-,*,-,-,*,*,-,-,*,*,-,-,-,*,# DATA -,-,-,-,-,*,-,-,-,-,*,*,# DATA -,-,-,-,-,-,-,-,-,*,-,-,*,#,. DATA 3,4 DATA -,-,-,-,*,*,# DATA -,-,-,*,-,-,*,*,# DATA -,-,*,-,-,*,-,-,*,# DATA -,*,-,-,*,-,*,-,-,*,# DATA -,*,-,*,-,-,-,*,-,*,*,# DATA -,*,*,-,-,-,-,-,*,-,-,*,# DATA -,-,*,-,-,-,-,-,-,*,-,-,*,# DATA -,-,-,*,-,-,-,-,-,-,*,-,*,# DATA -,-,-,-,*,-,-,-,-,-,-,*,*,# DATA -,-,-,-,-,*,-,-,-,-,*,*,# DATA -,-,-,-,-,-,*,-,-,*,# DATA -,-,-,-,-,-,-,*,*,# DATA #,#,# DATA -,-,*,-,-,-,*,-,-,*,-,*,-,-,*,-,-,*,*,# DATA -,*,-,*,-,-,*,*,-,*,-,*,*,-,*,-,*,-,-,*,# DATA *,*,*,*,*,-,*,-,*,*,-,*,-,*,*,-,*,-,-,*,# DATA *,-,-,-,*,-,*,-,-,*,-,*,-,-,*,-,-,*,*,#. DATA 4,6 DATA -,*,*,*,*,*,*,*,*,*,*,*,# DATA -,*,-,-,-,-,-,-,-,-,-,*,# DATA -,*,-,*,*,*,*,*,*,*,-,*,# DATA -,*,-,*,-,-,-,-,-,*,-,*,# DATA -,*,-,*,-,-,-,-,-,*,-,*,# DATA -,*,-,*,*,*,*,*,*,*,-,*,# DATA -,*,-,-,-,-,-,-,-,-,-,*,# DATA -,*,*,*,*,*,*,*,*,*,*,*,# DATA *,*,*,*,*,*,*,*,*,*,*,*,*,# DATA *,-,-,-,-,-,-,*,*,*,-,-,*,# DATA *,-,-,-,-,-,-,-,-,-,-,-,*,# DATA *,*,*,*,*,*,*,*,*,*,*,*,*,# DATA #,#,-,-,-,-,-,-,*,*,*,*,*,*,*,*,*,*,*,# DATA -,-,-,-,-,-,*,*,*,*,*,*,*,*,*,*,*,#,. DATA 0,1,0,0,0,0,1,0,0,0,0,1,1,1,.2,1,.8,.7 DATA .5,.5,.5,.9,.5,0,.7,.3,.8 cpruef: IF chronik%(z)=>50 THEN chronik%(z)=1 chronik$(z,1)="Er verfasste eine Sammlung seiner Erlebnisse im Jahre "+STR$(jahr%) END IF RETURN Maus: Test=MOUSE(0):SLEEP:SLEEP:SLEEP:Test=MOUSE(0) RETURN SUB Mouseklick (smark%,emark%) STATIC SHARED a$ a$="" mklwa: Test=MOUSE(0):SLEEP:SLEEP:SLEEP:Test=MOUSE(0) y=MOUSE(2):y=INT(y/8)+1 IF yemark% THEN mklwa y=y-smark%+1 a$=RIGHT$(STR$(y),1) merky%=CSRLIN:merkx%=POS(0) LOCATE y+smark%-1,1:PRINT "*"; LOCATE merky%,merkx% END SUB SUB Alles STATIC SHARED z$ z$=":/.-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZäöüßÄÖÜ1234567890 " END SUB SUB Eingabe (xpos%,ypos%,aus$,laenge%) STATIC SHARED a$ a$="" xpos%=xpos%*8-8:ypos%=ypos%*8 einschleife: LINE (xpos%,ypos%)-(xpos%+8,ypos%),1 pruef: b$="" WHILE b$="":b$=INKEY$:WEND IF b$=CHR$(8) AND a$><"" THEN LOCATE ypos%/8,xpos%/8 PRINT " ";:a$=LEFT$(a$,LEN(a$)-1) LINE (xpos%,ypos%)-(xpos%+8,ypos%),0 xpos%=xpos%-8:GOTO einschleife ELSEIF b$=CHR$(13) AND a$<>"" THEN LINE (xpos%,ypos%)-(xpos%+8,ypos%),0 EXIT SUB ELSEIF INSTR(aus$,b$)=0 THEN GOTO pruef ELSEIF LEN(a$)